package com.haixiaoke.saas.messageCenter.service;

import com.haixiaoke.saas.messageCenter.domain.MessageChannel;

import java.util.List;

/**
 * 机构消息渠道信息Service接口
 *
 * @author xiaolong
 * @date 2024-11-08
 */
public interface IMessageChannelService {
    /**
     * 查询机构消息渠道信息
     *
     * @param messageChannelId 机构消息渠道信息主键
     * @return 机构消息渠道信息
     */
    MessageChannel selectMessageChannelByMessageChannelId(Long messageChannelId);

    /**
     * 查询机构消息渠道信息列表
     *
     * @param messageChannel 机构消息渠道信息
     * @return 机构消息渠道信息集合
     */
    List<MessageChannel> selectMessageChannelList(MessageChannel messageChannel);

    /**
     * 新增机构消息渠道信息
     *
     * @param messageChannel 机构消息渠道信息
     * @return 结果
     */
    int insertMessageChannel(MessageChannel messageChannel);

    /**
     * 修改机构消息渠道信息
     *
     * @param messageChannel 机构消息渠道信息
     * @return 结果
     */
    int updateMessageChannel(MessageChannel messageChannel);

    /**
     * 批量删除机构消息渠道信息
     *
     * @param messageChannelIds 需要删除的机构消息渠道信息主键集合
     * @return 结果
     */
    int deleteMessageChannelByMessageChannelIds(Long[] messageChannelIds);

    /**
     * 删除机构消息渠道信息信息
     *
     * @param messageChannelId 机构消息渠道信息主键
     * @return 结果
     */
    int deleteMessageChannelByMessageChannelId(Long messageChannelId);

    /**
     * 校验该渠道是否关联消息模版
     *
     * @param messageChannel 机构消息渠道信息
     * @return 结果
     */
    String verifyMessageChannel(MessageChannel messageChannel);

    /**
     * 根据租户ID查询消息渠道信息
     * @param tenantId
     * @return
     */
    MessageChannel selectMessageChannelByTenantId(String tenantId);

    /**
     * 根据租户ID获取消息渠道信息
     * @param tenantId
     * @return
     */
    MessageChannel getInfoByTenantId(String tenantId);

}
